#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
@AUTHOR: tyc
@VERSION: 1.0.0
@DESCRIPTION: 正则表达式
@time: 2021-06-28 22:18:02 
"""
"""
常用的表达式
 .      匹配换行以外的任意字符
 \w     匹配字母或数字或下划线
 \s     任意空白字符
 \d     数字
 \n     换行符
 \t     制表符
 
 
 ^      匹配字符串开始
 $      匹配字符串结尾
 
 \W     匹配非字母或数字或下划线
 \D     匹配非数字
 \S     匹配非空白串
 a|b    匹配a或b
 ()     匹配括号内的表达式，也表示一个组
 [...]  匹配字符组中的字符
 [^...] 匹配除了字符组中字符的所有字符
 
 
 量词
 
 {n} n次
 *   0或多次
 +   一次或多次
 ？  0或一次
 {n,} n或多次
 {n,m} n到m次
 
 .*  贪婪匹配
 .*? 惰性匹配
"""

import re

# findall返回所有符合的内容
l = re.findall(r"\d+", "jsioajdhus10010dsijnaxinjai126732")
print(l)

# finditer返回的是迭代器效率较高
l1 = re.finditer(r"\d+", "jsioajdhus10010dsijnaxinjai126732")
for i in l1:
    print(i.group())

# search找到一个就结束
l2 = re.search(r"\d+", "jsioajdhus10010dsijnaxinjai126732")
print(l2.group())

# match 从头匹配
l3 = re.match(r"\d+", "0010dsijnaxinjai126732")
print(l3.group())

# 预加载正则表达式
obj = re.compile(r"\d+")

l4 = obj.finditer("fhyusghufyhsu38798")
for item in l4:
    print(item.group())



